There are similarity calculation systems configured to calculate which of a plurality of target vectors is similar to a given query vector. Such a system may be used, for example, to search for users having a similar preference by setting so that each vector represents a preference of a user, or to search for similar documents by setting so that each vector represents a characteristic of a document.
In this case, when there are a large number of target vectors, it takes time to determine the target vector that is most similar to the query vector. In order to solve this problem, in Patent Literature 1, there is disclosed a method in which the target vectors are clustered and a representative vector is calculated for each cluster. According to the method, when a query vector is given, a similarity between the query vector and each representative vector is calculated, and the most similar cluster is selected based on the calculated result. Further, the target vector most similar to the query vector is determined by calculating the similarity between each of the target vectors belonging to the selected cluster and the query vector.